<?php

namespace app\index\controller;

use phpmailer\PHPMailer;

class SendMail
{
    public function sendPass()
    {
        $return_data = array();
        if (!isset($_POST["email"]) || !isset($_POST["name"])) {
            $return_data["error_code"] = 2;
            $return_data['msg'] = "参数缺省，请检查";
            return json($return_data);
        }
        $toemail = $_POST["email"]; //定义收件人的邮箱

        $mail = new PHPMailer();

        $mail->isSMTP(); // 使用SMTP服务
        $mail->CharSet = "utf8"; // 编码格式为utf8，不设置编码的话，中文会出现乱码
        $mail->Host = "smtp.qq.com"; // 发送方的SMTP服务器地址
        $mail->SMTPAuth = true; // 是否使用身份验证
        $mail->Username = "853137327@qq.com"; //发送方的qq邮箱用户名，就是你申请qq的SMTP服务使用的qq邮箱
        $mail->Password = "uaancpvrwzbjbbfc"; //发送方的邮箱密码，注意用qq邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码
        $mail->SMTPSecure = "ssl"; //使用ssl协议方式
        $mail->Port = 465; // qq邮箱的ssl协议方式端口号是465/587

        $mail->setFrom("853137327@qq.com", "某某大学电动车管理中心"); // 设置发件人信息，如邮件格式说明中的发件人，这里会显示为Mailer(xxxx@qq.com），Mailer是当做名字显示
        $mail->addAddress($toemail, $_POST['name']); // 设置收件人信息，如邮件格式说明中的收件人，这里会显示为Liang(yyyy@qq.com)
        $mail->addReplyTo("853137327@qq.com", "某某大学电动车管理中心"); // 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
        //$mail->addCC("xxx@qq.com");// 设置邮件抄送人，可以只写地址，上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@qq.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->isHTML(true);
        $mail->Subject = "恭喜您骑行证申请成功"; // 邮件标题
        $mail->Body = "请在收到邮箱当天的3个工作日后领取骑行证。"; // 邮件正文
        //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容，如果不支持Html方式，就会用到这个，基本无用

        if (!$mail->send()) { // 发送邮件
            // 发送邮件失败
            $return_data['error_code'] = 1;
            $return_data['msg'] = "邮件发送失败";
            $return_data['reason'] = "Mailer Error: " . $mail->ErrorInfo;
        } else { //发送邮件成功
            $return_data["error_code"] = 0;
            $return_data['msg'] = "邮件发送成功";
        }
        return json($return_data);
    }

    public function sendFail()
    {
        $return_data = array();

        if (!isset($_POST["email"]) || !isset($_POST["name"])) {
            $return_data["error_code"] = 2;
            $return_data['msg'] = "参数缺省，请检查";
            return json($return_data);
        }


        $toemail = $_POST["email"]; //定义收件人的邮箱

        $mail = new PHPMailer();

        $mail->isSMTP(); // 使用SMTP服务
        $mail->CharSet = "utf8"; // 编码格式为utf8，不设置编码的话，中文会出现乱码
        $mail->Host = "smtp.qq.com"; // 发送方的SMTP服务器地址
        $mail->SMTPAuth = true; // 是否使用身份验证
        $mail->Username = "853137327@qq.com"; //发送方的qq邮箱用户名，就是你申请qq的SMTP服务使用的qq邮箱
        $mail->Password = "uaancpvrwzbjbbfc"; //发送方的邮箱密码，注意用qq邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码
        $mail->SMTPSecure = "ssl"; //使用ssl协议方式
        $mail->Port = 465; // qq邮箱的ssl协议方式端口号是465/587

        $mail->setFrom("853137327@qq.com", "某某大学电动车管理中心"); // 设置发件人信息，如邮件格式说明中的发件人，这里会显示为Mailer(xxxx@qq.com），Mailer是当做名字显示
        $mail->addAddress($toemail, $_POST['name']); // 设置收件人信息，如邮件格式说明中的收件人，这里会显示为Liang(yyyy@qq.com)
        $mail->addReplyTo("853137327@qq.com", "某某大学电动车管理中心"); // 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
        //$mail->addCC("xxx@qq.com");// 设置邮件抄送人，可以只写地址，上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@qq.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->isHTML(true);
        $mail->Subject = "对不起，您的骑行证申请失败"; // 邮件标题
        $mail->Body = "可能原因：1、身份证明资料与车主提交信息不符；2、车辆来历证明资料无法核实"; // 邮件正文
        //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容，如果不支持Html方式，就会用到这个，基本无用

        if (!$mail->send()) { // 发送邮件
            // 邮件发送失败
            echo "Message could not be sent.";
            echo "Mailer Error: " . $mail->ErrorInfo; // 输出错误信息
            $return_data["error_code"] = 1;
            $return_data['msg'] = "邮件发送失败";
        } else {

            $return_data["error_code"] = 0;
            $return_data['msg'] = "邮件发送成功";
        }

        return json($return_data);
    }
}
